/**
 * 自定义的工具js函数
 */

/**
 * 动态生成下拉框的选项
 * 参数均为字符串
 * @param $ jquery的$函数
 * @param data_url 数据接口，它返回的数据需要是一个对象数组（例如商品对象数组）
 * @param selector 需要填充数据的选择框的选择器
 * @param text 需要显示出来的对象属性（例如商品的名称）
 * @param value 不显示出来的对象属性，作为下拉框option的value值用于提交（例如商品编号）
 * @param selectedValue 需要选中的option的value值，可选
 * @author yxChangingSelf
 */
function fillSelect($,data_url, selector,text,value, selectedValue) {
	$.ajax({
		url : data_url,
		type : "post",
		dataType : "json",
		success : function(data) {
			if (data) {
				$(selector).empty();
				for ( var index in data) {
					var item = data[index];
					$(selector).append(new Option(item[text], item[value]));
				}
			} else {
				$(selector).append(new Option("暂无数据", ""));
			}

			if (selectedValue) {
				//如果传入了值，则赋值
				$(selector + " option[value='"+ selectedValue + "']").attr("selected", true);
			}
			layui.form.render("select");
		}
	})
};
/**
 * 时间格式转换
 * @param dateTime 由java的LocalDateTime类导出的js对象
 * @returns 格式为“2020-7-10 8:52:55”的字符串
 */
function dateTime2Str(dateTime) {
	/*
	将LocalDateTime转换成的json转换为字符串
	 */
	var year = dateTime.year;
	var month = dateTime.monthValue;
	var day = dateTime.dayOfMonth;
	var hour = dateTime.hour;
	var minute = dateTime.minute;
	var second = dateTime.second;

	var date = [ year, month, day ];
	var time = [ hour, minute, second ];

	return date.join("-") + " " + time.join(":");

}
/**
 * 订单状态转化
 * @param statusInt 代表订单状态的值
 * @returns 一个代表订单状态的字符串
 */
function statusInt2Str(statusInt) {
	/*
	将代表订单状态的数字转换为字符串
	 */
	var statusArray = [ "待付款", "待发货", "已发货", "已完成", "已取消" ];
	if(statusInt<0||statusInt>=statusArray.length) return "";
	return statusArray[statusInt];
}
/**
 * 利用模板渲染商品列表
 * @param $ layui.jquery
 * @param laytpl layui.laytpl
 * @param data json数据
 * @param tplSelector 装有模板的script标签的选择器
 * @param viewId 作为view的元素的id
 * 
 */
function renderTpl($,laytpl,data,tplSelector,viewId){
	var getTpl = $(tplSelector).html()
	,view = document.getElementById(viewId);
	laytpl(getTpl).render(data, function(html){
	  view.innerHTML = html;
	});
}
/**
 * 获取数据
 * @param $
 * @param data_url
 * @param callback
 * @returns
 */
function getData($,data_url,callback){
	$.ajax({
		url : data_url,
		type : "post",
		dataType : "json",
		success : function(data) {
			callback(data);
		}
	})
}

